package com.ruoyi.base.domain;

import java.math.BigDecimal;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 薪资明细对象 m_salarydetails
 * 
 * @author ruoyi
 * @date 2024-08-11
 */
public class MSalarydetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 表id */
    private Long id;

    /** 工号 */
    @JsonFormat(shape = JsonFormat.Shape.STRING)//此句为问题关键相当于吧Long转换为String
    @JSONField(serializeUsing = ToStringSerializer.class) //此处标识得在序列化的时候转换为字符串
    @Excel(name = "工号")
    private Long sId;

    /** 薪资年月 */
    @Excel(name = "薪资年月")
    private String sYearmonth;

    /** 员工姓名 */
    @Excel(name = "员工姓名")
    private String sName;

    /** 底薪 */
    @Excel(name = "底薪")
    private BigDecimal sBasesalary;

    /** 绩效 */
    @Excel(name = "绩效")
    private BigDecimal performance;

    /** 提成 */
    @Excel(name = "提成")
    private BigDecimal commission;

    /** 社保 */
    @Excel(name = "社保")
    private BigDecimal socialSecurity;

    /** 公积金 */
    @Excel(name = "公积金")
    private BigDecimal accumulationFund;

    /** 个人税 */
    @Excel(name = "个人税")
    private BigDecimal incomeTax;

    /** 请假 */
    @Excel(name = "请假")
    private BigDecimal askForLeave;

    /** 应发工资 */
    @Excel(name = "应发工资")
    private BigDecimal salaryPayable;

    /** 实发工资 */
    @Excel(name = "实发工资")
    private BigDecimal netSalary;

    /** 备注 */
    @Excel(name = "备注")
    private String sNotes;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setsId(Long sId) 
    {
        this.sId = sId;
    }

    public Long getsId() 
    {
        return sId;
    }
    public void setsYearmonth(String sYearmonth) 
    {
        this.sYearmonth = sYearmonth;
    }

    public String getsYearmonth() 
    {
        return sYearmonth;
    }
    public void setsName(String sName) 
    {
        this.sName = sName;
    }

    public String getsName() 
    {
        return sName;
    }
    public void setsBasesalary(BigDecimal sBasesalary) 
    {
        this.sBasesalary = sBasesalary;
    }

    public BigDecimal getsBasesalary() 
    {
        return sBasesalary;
    }
    public void setPerformance(BigDecimal performance) 
    {
        this.performance = performance;
    }

    public BigDecimal getPerformance() 
    {
        return performance;
    }
    public void setCommission(BigDecimal commission) 
    {
        this.commission = commission;
    }

    public BigDecimal getCommission() 
    {
        return commission;
    }
    public void setSocialSecurity(BigDecimal socialSecurity) 
    {
        this.socialSecurity = socialSecurity;
    }

    public BigDecimal getSocialSecurity() 
    {
        return socialSecurity;
    }
    public void setAccumulationFund(BigDecimal accumulationFund) 
    {
        this.accumulationFund = accumulationFund;
    }

    public BigDecimal getAccumulationFund() 
    {
        return accumulationFund;
    }
    public void setIncomeTax(BigDecimal incomeTax) 
    {
        this.incomeTax = incomeTax;
    }

    public BigDecimal getIncomeTax() 
    {
        return incomeTax;
    }
    public void setAskForLeave(BigDecimal askForLeave)
    {
        this.askForLeave = askForLeave;
    }

    public BigDecimal getAskForLeave()
    {
        return askForLeave;
    }
    public void setSalaryPayable(BigDecimal salaryPayable) 
    {
        this.salaryPayable = salaryPayable;
    }

    public BigDecimal getSalaryPayable() 
    {
        return salaryPayable;
    }
    public void setNetSalary(BigDecimal netSalary) 
    {
        this.netSalary = netSalary;
    }

    public BigDecimal getNetSalary() 
    {
        return netSalary;
    }
    public void setsNotes(String sNotes) 
    {
        this.sNotes = sNotes;
    }

    public String getsNotes() 
    {
        return sNotes;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sId", getsId())
            .append("sYearmonth", getsYearmonth())
            .append("sName", getsName())
            .append("sBasesalary", getsBasesalary())
            .append("performance", getPerformance())
            .append("commission", getCommission())
            .append("socialSecurity", getSocialSecurity())
            .append("accumulationFund", getAccumulationFund())
            .append("incomeTax", getIncomeTax())
            .append("askForLeave", getAskForLeave())
            .append("salaryPayable", getSalaryPayable())
            .append("netSalary", getNetSalary())
            .append("sNotes", getsNotes())
            .toString();
    }
}
